// This example shows how to obtain properties under the "Server" node in the address space. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.AddressSpace; using OpcLabs.EasyOpc.UA.AddressSpace.Standard; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { class BrowseProperties { public static void Overload2() { UAEndpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; // or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) // or "https://opcua.demo-this.com:51212/UA/SampleServer/" // Instantiate the client object var client = new EasyUAClient(); // Obtain properties under "Server" node. UANodeElementCollection nodeElementCollection; try { nodeElementCollection = client.BrowseProperties(endpointDescriptor, UAObjectIds.Server); } catch (UAException uaException) { Console.WriteLine($"*** Failure: {uaException.GetBaseException().Message}"); return; } // Display results foreach (UANodeElement nodeElement in nodeElementCollection) { Console.WriteLine(); Console.WriteLine($"nodeElement.DisplayName: {nodeElement.DisplayName}"); Console.WriteLine($"nodeElement.NodeId: {nodeElement.NodeId}"); Console.WriteLine($"nodeElement.NodeId.ExpandedText: {nodeElement.NodeId.ExpandedText}"); } } // Example output: // //nodeElement.DisplayName: ServerArray //nodeElement.NodeId: Server_ServerArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 // //nodeElement.DisplayName: NamespaceArray //nodeElement.NodeId: Server_NamespaceArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 // //nodeElement.DisplayName: ServiceLevel //nodeElement.NodeId: Server_ServiceLevel //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 // //nodeElement.DisplayName: Auditing //nodeElement.NodeId: Server_Auditing //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 } }
# This example shows how to obtain properties under the "Server" node in the address space. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in PowerShell on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-PowerShell . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. #requires -Version 5.1 using namespace OpcLabs.EasyOpc.UA using namespace OpcLabs.EasyOpc.UA.AddressSpace.Standard using namespace OpcLabs.EasyOpc.UA.OperationModel # The path below assumes that the current directory is [ProductDir]/Examples-NET/PowerShell/Windows . Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUA.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUAComponents.dll" [UAEndpointDescriptor]$endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" # or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) # or "https://opcua.demo-this.com:51212/UA/SampleServer/" # Instantiate the client object. $client = New-Object EasyUAClient # Obtain objects under "Server" node. try { $nodeElementCollection = [IEasyUAClientExtension]::BrowseProperties($client, $endpointDescriptor, [UAObjectIds]::Server) } catch [UAException] { Write-Host "*** Failure: $($PSItem.Exception.GetBaseException().Message)" return } # Display results foreach ($nodeElement in $nodeElementCollection) { Write-Host Write-Host "nodeElement.DisplayName: $($nodeElement.DisplayName)" Write-Host "nodeElement.NodeId: $($nodeElement.NodeId)" Write-Host "nodeElement.NodeId.ExpandedText: $($nodeElement.NodeId.ExpandedText)" } # Example output: # #nodeElement.DisplayName: ServerArray #nodeElement.NodeId: Server_ServerArray #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 # #nodeElement.DisplayName: NamespaceArray #nodeElement.NodeId: Server_NamespaceArray #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 # #nodeElement.DisplayName: ServiceLevel #nodeElement.NodeId: Server_ServiceLevel #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 # #nodeElement.DisplayName: Auditing #nodeElement.NodeId: Server_Auditing #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994
' This example shows how to obtain properties under the "Server" node in the address space. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.AddressSpace Imports OpcLabs.EasyOpc.UA.AddressSpace.Standard Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Friend Class BrowseProperties Public Shared Sub Overload2() ' Define which server we will work with. Dim endpointDescriptor As UAEndpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) ' or "https://opcua.demo-this.com:51212/UA/SampleServer/" ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain properties under "Server" node Dim nodeElementCollection As UANodeElementCollection Try nodeElementCollection = client.BrowseProperties(endpointDescriptor, UAObjectIds.Server) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Display results For Each nodeElement As UANodeElement In nodeElementCollection Console.WriteLine() Console.WriteLine("nodeElement.NodeId: {0}", nodeElement.NodeId) Console.WriteLine("nodeElement.DisplayName: {0}", nodeElement.DisplayName) Next nodeElement ' Example output: ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2254 'nodeElement.DisplayName: ServerArray ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2255 'nodeElement.DisplayName: NamespaceArray ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2267 'nodeElement.DisplayName: ServiceLevel ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2994 'nodeElement.DisplayName: Auditing } End Sub End Class End Namespace
// This example shows how to obtain properties under the "Server" node // in the address space. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-OP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure BrowseProperties.Main; var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; Count: Cardinal; Element: OleVariant; EndpointDescriptor: string; NodeElement: _UANodeElement; NodeElementEnumerator: IEnumVariant; NodeElements: _UANodeElementCollection; ServerNodeId: _UANodeId; begin EndpointDescriptor := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; // Instantiate the client object Client := CoEasyUAClient.Create; // Obtain properties under "Server" node ServerNodeId := CoUANodeId.Create; ServerNodeId.StandardName := 'Server'; try NodeElements := Client.BrowseProperties(EndpointDescriptor, ServerNodeId.ExpandedText); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); Exit; end; end; // Display results NodeElementEnumerator := NodeElements.GetEnumerator; while (NodeElementEnumerator.Next(1, Element, Count) = S_OK) do begin NodeElement := IUnknown(Element) as _UANodeElement; WriteLn; WriteLn('nodeElement.NodeId: ', NodeElement.NodeId.ToString); WriteLn('nodeElement.NodeId.ExpandedText: ', NodeElement.NodeId.ExpandedText); WriteLn('nodeElement.DisplayName: ', NodeElement.DisplayName); end; // Example output: // //nodeElement.NodeId: Server_ServerArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 //nodeElement.DisplayName: ServerArray // //nodeElement.NodeId: Server_NamespaceArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 //nodeElement.DisplayName: NamespaceArray // //nodeElement.NodeId: Server_ServiceLevel //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 //nodeElement.DisplayName: ServiceLevel // //nodeElement.NodeId: Server_Auditing //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 //nodeElement.DisplayName: Auditing end;
// This example shows how to obtain properties under the "Server" node // in the address space. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in PHP on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-PHP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. $EndpointDescriptor = new COM("OpcLabs.EasyOpc.UA.UAEndpointDescriptor"); $EndpointDescriptor->UrlString = //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; // Instantiate the client object $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); // Obtain variables under "Server" node $ServerNodeId = new COM("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId"); $ServerNodeId->StandardName = "Server"; try { $NodeElements = $Client->BrowseProperties($EndpointDescriptor, $ServerNodeId->ExpandedText); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); exit(); } // Display results foreach ($NodeElements as $NodeElement) { printf("\n"); printf("nodeElement.NodeId: %s\n", $NodeElement->NodeId); printf("nodeElement.NodeId.ExpandedText: %s\n", $NodeElement->NodeId->ExpandedText); printf("nodeElement.DisplayName: %s\n", $NodeElement->DisplayName); } // Example output: // //nodeElement.NodeId: Server_ServerArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 //nodeElement.DisplayName: ServerArray // //nodeElement.NodeId: Server_NamespaceArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 //nodeElement.DisplayName: NamespaceArray // //nodeElement.NodeId: Server_ServiceLevel //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 //nodeElement.DisplayName: ServiceLevel // //nodeElement.NodeId: Server_Auditing //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 //nodeElement.DisplayName: Auditing
REM This example shows how to obtain properties under the "Server" node REM in the address space. REM REM Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . REM OPC client and subscriber examples in Visual Basic on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VB . REM Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own REM a commercial license in order to use Online Forums, and we reply to every post. Public Sub BrowseProperties_Main_Command_Click() OutputText = "" Dim endpointDescriptor As String 'endpointDescriptor = "http://opcua.demo-this.com:51211/UA/SampleServer" 'endpointDescriptor = "https://opcua.demo-this.com:51212/UA/SampleServer/" endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' Instantiate the client object Dim Client As New EasyUAClient ' Obtain properties under "Server" node Dim serverNodeId As New UANodeId serverNodeId.StandardName = "Server" On Error Resume Next Dim NodeElements As UANodeElementCollection Set NodeElements = Client.BrowseProperties(endpointDescriptor, serverNodeId.expandedText) If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 ' Display results Dim NodeElement: For Each NodeElement In NodeElements OutputText = OutputText & vbCrLf OutputText = OutputText & "nodeElement.NodeId: " & NodeElement.NodeId & vbCrLf OutputText = OutputText & "nodeElement.NodeId.ExpandedText: " & NodeElement.NodeId.expandedText & vbCrLf OutputText = OutputText & "nodeElement.DisplayName: " & NodeElement.DisplayName & vbCrLf Next ' Example output: ' 'nodeElement.NodeId: Server_ServerArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 'nodeElement.DisplayName: ServerArray ' 'nodeElement.NodeId: Server_NamespaceArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 'nodeElement.DisplayName: NamespaceArray ' 'nodeElement.NodeId: Server_ServiceLevel 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 'nodeElement.DisplayName: ServiceLevel ' 'nodeElement.NodeId: Server_Auditing 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 'nodeElement.DisplayName: Auditing End Sub
Rem This example shows how to obtain properties under the "Server" node in the address space. Rem Rem Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Rem OPC client and subscriber examples in VBScript on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBScript . Rem Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own Rem a commercial license in order to use Online Forums, and we reply to every post. Option Explicit Dim endpointDescriptor: endpointDescriptor = _ "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" '"http://opcua.demo-this.com:51211/UA/SampleServer" '"https://opcua.demo-this.com:51212/UA/SampleServer/" ' Instantiate the client object Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") ' Obtain properties under "Server" node Dim ServerNodeId: Set ServerNodeId = CreateObject("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId") ServerNodeId.StandardName = "Server" On Error Resume Next Dim NodeElementCollection: Set NodeElementCollection = Client.BrowseProperties(endpointDescriptor, ServerNodeId.ExpandedText) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 ' Display results Dim NodeElement: For Each NodeElement In NodeElementCollection WScript.Echo WScript.Echo "nodeElement.NodeId: " & NodeElement.NodeId WScript.Echo "nodeElement.NodeId.ExpandedText: " & NodeElement.NodeId.ExpandedText WScript.Echo "nodeElement.DisplayName: " & NodeElement.DisplayName Next ' Example output: ' 'nodeElement.NodeId: Server_ServerArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 'nodeElement.DisplayName: ServerArray ' 'nodeElement.NodeId: Server_NamespaceArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 'nodeElement.DisplayName: NamespaceArray ' 'nodeElement.NodeId: Server_ServiceLevel 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 'nodeElement.DisplayName: ServiceLevel ' 'nodeElement.NodeId: Server_Auditing 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 'nodeElement.DisplayName: Auditing
# This example shows how to obtain properties under the "Server" node in the address space. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.AddressSpace import * from OpcLabs.EasyOpc.UA.AddressSpace.Standard import * from OpcLabs.EasyOpc.UA.OperationModel import * endpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:51210/UA/SampleServer') # or 'http://opcua.demo-this.com:51211/UA/SampleServer' (currently not supported) # or 'https://opcua.demo-this.com:51212/UA/SampleServer/' # Instantiate the client object. client = EasyUAClient() # Obtain objects under "Server" node. try: nodeElementCollection = IEasyUAClientExtension.BrowseProperties(client, endpointDescriptor, UANodeDescriptor(UAObjectIds.Server)) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. for nodeElement in nodeElementCollection: print() print('nodeElement.DisplayName: ', nodeElement.DisplayName, sep='') print('nodeElement.NodeId: ', nodeElement.NodeId, sep='') print('nodeElement.NodeId.ExpandedText: ', nodeElement.NodeId.ExpandedText, sep='') print() print('Finished.')
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Documentation Home, Send Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.